package org.dromara.system.service;

import org.dromara.system.domain.WbProductPatent;
import org.dromara.system.domain.vo.WbProductPatentVo;
import org.dromara.system.domain.bo.WbProductPatentBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 产品专利Service接口
 *
 * @author Lion Li
 * @date 2024-03-25
 */
public interface IWbProductPatentService {

    /**
     * 查询产品专利
     */
    WbProductPatentVo queryById(Long id);

    /**
     * 查询产品专利列表
     */
    TableDataInfo<WbProductPatentVo> queryPageList(WbProductPatentBo bo, PageQuery pageQuery);

    /**
     * 查询产品专利列表
     */
    List<WbProductPatentVo> queryList(WbProductPatentBo bo);

    /**
     * 新增产品专利
     */
    Boolean insertByBo(WbProductPatentBo bo);

    /**
     * 修改产品专利
     */
    Boolean updateByBo(WbProductPatentBo bo);

    /**
     * 校验并批量删除产品专利信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    String verify(MultipartFile file) throws Exception;

}
